#ifndef _kernel_
#define _kernel_

#include "../include/defs.h"

typedef enum eINT_80 {WRITE=0, READ} tINT_80;
typedef enum eUSER {U_KERNEL=0, U_NORMAL} tUSERS;

int GetTTY(void);
void init_ttys(void);
PROCESS *GetProcessByPID(int pid);
int LoadStackFrame(int(*process)(int,char**),int argc,char** argv,
                                    int bottom, void(*cleaner)());
int GetPID(void);
void CreateProcessAt(char* name, int (*process)(int,char**),int tty, int argc,
                    char** argv, int stacklength, int priority, int isFront);
void Destroy(int PID);


/* __write
*
* Recibe como parametros:
* - File Descriptor
* - Buffer del source
* - Cantidad
*
**/
ssize_t __write(int fd, const void *buf, size_t count);

/* __read
*
* Recibe como parametros:
* - File Descriptor
* - Buffer a donde escribir
* - Cantidad
*
**/
size_t __read(int fd, const void *buf, size_t count);

void __getVal(const char * src, void * dest);
void __setVal(const char * dest, void * src);


#endif
